package org.inspiration.dudu.web.service.content;

import org.inspiration.dudu.content.model.dto.AnswerDTO;
import org.inspiration.dudu.content.model.vo.AnswerVO;

import java.util.List;
import java.util.Map;

/**
 * 答案外观服务接口，提供与答案相关的操作。
 */
public interface AnswerFacadeService {
    /**
     * 上传答案
     * 
     * @param answerDTO 答案数据传输对象
     * @return 上传结果的字符串表示
     */
    String uploadAnswer(AnswerDTO answerDTO);

    /**
     * 根据问题ID按升序获取所有答案
     * 
     * @param questionId 问题ID
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @return 答案视图对象列表
     */
    List<AnswerVO> getAnswersByQuestionIdOrderByASC(String questionId, Integer pageNum, Integer pageSize);

    /**
     * 根据问题ID按降序获取所有答案
     * 
     * @param questionId 问题ID
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @return 答案视图对象列表
     */
    List<AnswerVO> getAnswersByQuestionIdOrderByDESC(String questionId, Integer pageNum, Integer pageSize);

    /**
     * 根据ID获取单个答案
     * 
     * @param id 答案ID
     * @return 答案视图对象
     */
    AnswerVO getAnswerById(String id);

    List<Map<String, Object>> getAnswersByUserIdOrderByDESC(Long userId, Integer pageNum, Integer pageSize);
}
